// 创建redux 仓库

// 01: 引入 创建redux 仓库的方法
import { legacy_createStore as createStore, applyMiddleware, compose } from 'redux';

// 导入异步中间件 redux-thunk
import reduxthunk from 'redux-thunk';

// 02: 定义初始仓库数据
const defaultState = {
    count: 0,
    num: 100,
    schoollist: []  //学校列表
}

// 03: 定义reducer 函数
function reducer(state = defaultState, actions) {
    if (actions.type == '+') {
        return {
            ...state, // 保留数据,因为是替换操作, 不是合并
            count: state.count + actions.payload
        }
    }
    if (actions.type == '-') {
        // 该位置设置延时定时器 不行, return 结构不对
        return {
            ...state, // 保留数据,因为是替换操作, 不是合并
            count: state.count - actions.payload
        }
    }

    if (actions.type == 'setlist') {
        return {
            ...state,
            schoollist: actions.payload
        }
    }


    return state
};

// 04: 创建store 仓库
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(
    reducer,
    composeEnhancers(
        applyMiddleware(reduxthunk) // 应用reduxthunk 中间件
    ));
// 05: 导出仓库
export default store







